Businesses are rapidly becoming computer and network dependent. Web technology is adding momentum to E-Commerce deployment by providing user friendly front ends for applications. Continuous access to and instantaneous responses from the hosted services are essential for successful client/server applications. Down times and slow and/or erroneous responses can lead to customer frustration and sales losses. Accordingly, there is an increasing demand for server high availability and performance.
To achieve the levels of server availability, performance, and scalability (in view of the time dependent, dramatic spikes in website usage), a farm of servers or server farm with one or more intelligent Internet protocol or IP switches are typically employed. The IP switch performs load balancing of Internet Protocol or IP traffic across the multiple servers based on information contained in one or more layers of the OSI network model (i.e., Layer 7 or the Application Layer, Layer 6 or the Presentation Layer, Layer 5 or the Session Layer, Layer 4 or the Transport Layer, Layer 3 or the Network Layer, Layer 2 or the Data Link Layer, and finally Layer 1 or the Physical Layer). The group of servers is typically identified by a single global IP address. Traffic destined for the global IP address is load balanced across the server within that group based on the workload of the servers with source IP address and selected server address affinity. All clients accessing the servers see only the global IP address and are indifferent to the number of replicated servers within the farm and to which specific server their traffic is being forwarded.
A number of different types of IP switches are in use.
One type of switch, including Layer 3 and/or Layer 4 switches, route incoming packets based on the destination IP address or the combination of IP address, protocol ID, and transport port number. This switching technique can be problematic in a Web environment. To a Layer 4 load balancer, all of the Web applications appear to be using TCP port 80 (typical port for HTTP), making them indistinguishable from one another. Accordingly, a Common Gateway Interface or CGI request looks no different from a Web-enabled Service Access Point or SAP application or streaming audio request, even though all of these requests have very different Quality of Services (QoS) requirements.
Another type of IP switch is known as a Web switch, which is a new generation of networking specifically designed to address the unique requirements of Web traffic. Web switches are “smart”—armed with sophisticated Universal Resource Locator or URL load balancing capabilities, Network Address Translation or NAT, and embedded Domain Name Server or DNS intelligence, and use complex policies to manage and speed Web traffic flows. Web switches are able to optimize Web traffic because they look into the HTTP payload down to the URL and cookie to determine what content is being requested. As used herein, a “cookie” refers to information stored on a client or peer at the request of a server. Cookies typically include a description of the path range of URLs for which that cookie is valid and are appended or tagged to a server response. The information in the cookie is, of course, defined by the server. As will be appreciated, URLs identify only the content requested and do not dictate where the content should be found. With the knowledge of the content requested, the Web switch employs user-defined and/or pre-set policies to determine which flow security rules are enforced, which content is allowed or denied, and which QoS requirements are needed for specific content or users. This provides flexibility in defining policies for traffic prioritization—enabling tiered services and compliance with Service Level Agreements—and the ability to use sticky connections and user authentication, which are critical requirements for E-commerce.
Web switches use a highly-scalable multiprocessor framework that evaluates policy only at flow (session) set up. Once a flow is set up, all subsequent packets within that flow are cut-through at wire speed via high speed forwarding circuitry on a per port basis. This approach of “flow set up once, switch all other packets” enables the complex classification of traffic at the URL level while achieving the price/performance of Local Area Network or LAN switches.
The web switch determines which Web server or cache is best able to handle the specific request at that moment based on criteria such as proximity of the user to a server, the server's condition, the condition of the network path, and which content has been requested. Web switches intercept all traffic destined for a Web site. This permits the switches to track content requests and to predict hot content before a server becomes overwhelmed. Web switches dynamically replicate hot content to a Web cache and bring the cache into the load balancing rotation, ensuring a continually positive user experience, despite wide fluctuations in Web site traffic. Web switches also track which servers have delivered specific content and send new requests for that content directly to the appropriate server, resulting in improved server cache coherency and performance.
Web switches, however, have problems. For example, Web switches can unnecessarily parse a packet for a number of packet fields. In certain applications, there is no need to process packets intensively for a routing decision to be made. Server farms also fail to use the information collected by the Web switch in organizing content for rapid access. As a result, requests can take longer to process than is necessary.